<?php
if(!defined('IN_MIGSYS')) define('IN_MIGSYS', true);
if(!isset($migsys_root_path)) $migsys_root_path = './../';
require_once($migsys_root_path . 'common.php');
require_once($migsys_root_path . 'admin/register.php');
require_once($migsys_root_path . 'includes/validation.php');
require_once($migsys_root_path . 'admin/find.php');

// A página só deve ser acessa pelo administrador
if($user->userlevel != 2) {
	require_once($migsys_root_path . 'index.php'); 
	exit;
}


if(isset($_GET['action']) && $_GET['action'] == 'buscar') {
	$nome = $_POST['nome'];
    $mydisciplina = Find::find_disciplina($nome);

    $site->template->assign('mydisciplina', $mydisciplina);
    $site->template->assign('teste', $nome);
    $site->add_page('editdisciplina', 'admin/edit_disciplina.html');
}
else {
    $site->add_page('finddisciplina', 'admin/find_disciplina.html');
}


if(isset($_GET['action']) && $_GET['action'] == 'atualizar') {
        $form_fields = array('nome', 'cpf', 'email', 'logradouro', 'numero', 'cidade',
						 'cep', 'estado', 'bairro', 'telefone');


        $notset_fields = notset_post_elems($form_fields);
        foreach ($notset_fields as $e) echo $e . ' - ';

        // Verificação do recebimento de todos os dados do formulário.
        if(count($notset_fields) == 0){
            // Verificação dos campos em branco.
            $campos_obrigatorios = $form_fields; //TODO: Colocar somente obrigatórios.
            $empty_fields = empty_post_elems($campos_obrigatorios);
            if(count($empty_fields) != 0){
                foreach ($empty_fields as $theempty) Info::queue_msg($C_INFOS['blank_field'], $theempty);
            }
            else {
                //TODO: Validar campos, tamanho, inválidos...
                //TODO: Validar se já existe 'nome', 'cpf' e 'login'.
                //TODO: Verificar senha, contrasenha...

                //Atualiza um usuário simples
                $userid = $myuser->get('Usuario', 'ID');
                Edit::update_user($userid, $_POST['nome'], $_POST['cpf'], $_POST['email']);

                // Atualiza um endereço na tabela Endereco
                Edit::update_endereco($userid, $_POST['logradouro'], $_POST['numero'], $_POST['cidade'],
                                            $_POST['cep'], $_POST['estado'], $_POST['bairro']);

                // Atualiza um telefone na tabela Telefone
                Edit::update_phone($userid, $_POST['telefone']);


                // Faz a verificação de quais informações adicionais atualizar no banco de dados.
                switch ($myuser->get('Usuario', 'TipoUsuario_ID') ) {
                    case 0:
                        Edit::update_discente($userid, $_POST['matricula'], $_POST['semestre']);
                        break;
                    case 1:
                        Edit::update_docente($userid, $_POST['matricula']);
                        break;
                }

                $site->add_page('finduser', 'admin/find_user.html');
                Info::queue_msg($C_EDIT_INFOS['register_success']);
            }
        }
        else Info::queue_msg($C_INFOS['sending_form']);
    }
// Necessário para carregar todo o layout do site
require_once($migsys_root_path . 'index.php');

?>